﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace exercice4
    {
    /// <summary>
    /// Class mère de tous les véhicules à moteur
    /// La capacité du réservoir est une information à donner au constructeur (non static)
    /// </summary>
    public abstract class VehiculeMoteur : Vehicule
        {
        public VehiculeMoteur(String nom, double consommation, double capaciteReservoir)
            : base(nom)
            {
            this.m_consommation = consommation;
            this.m_capaciteReservoir = capaciteReservoir;
            this.m_kilometrage = 0;
            }

        public override void rouler(double km)
            {
            this.m_kilometrage+=km;
            }

        public override void louer()
            {
            base.louer();
            this.m_kilometrage = 0;
            }

        public override void afficher()
            {
            base.afficher();
            System.Console.WriteLine("consommation : "+this.m_consommation+" l/100km");
            System.Console.WriteLine("capacité du réservoir : "+this.m_capaciteReservoir+"L");
            }

        double consommation { get { return this.m_consommation; } }
        double capaciteReservoir { get { return this.m_capaciteReservoir; } }
        double kilometrage { get { return this.m_kilometrage; } }

        protected double m_consommation;
        protected double m_capaciteReservoir;
        protected double m_kilometrage;
        }
    }
